Field of the Invention
The present invention relates to a technique for communicating data concerning print settings between an application program and a printer driver.
Description of the Related Art
In general, in a case where printing is executed by an application program, various print settings are referred to or changed through a print setting screen provided by a printer driver. Meanwhile, among various application programs, there is an application program designed to refer to or change print settings on its own without using a print setting screen provided by a printer driver. Suppose an application program for printing postcards, for instance. If the application program uses the print setting screen provided by the printer driver, a user is allowed to select “A4 size”, for example, as a sheet size instead of “postcards”. This may result in confusion of the user or unintentional printing. In this regard, the sheet size and the sheet type usable in the application program for printing postcards should preferably be limited to those related to the “postcards”.
In order to perform such customized print settings, the application program generally uses an application programming interface (API) provided by an operating system (hereinafter abbreviated as OS). The application program obtains (refers to) or changes a variety of information concerning the printing with a printer via the API. In the Windows (registered trademark) environment, the application program obtains and changes the information concerning the printing with the printer by using an API called the ExtEscape function provided by the OS. The ExtEscape function is used for transferring customized data between the application program and the printer driver in order to perform the customized print settings, and the like.
In the meantime, there are two types of printer drivers that are based on the V3 architecture and run on Windows (registered trademark), namely, V3 GDI printer driver and V3 XPS printer driver.
Japanese Patent Laid-Open No. 2010-140281 discloses a technique for transferring data concerning print settings between an application program and a printer driver by use of the ExtEscape function, which is adaptable to various OS environments and printer drivers.